﻿using Matchingo.Common.Types.Types;

namespace Matchingo.Common.Types.Interfaces
{
    /// <summary>
    /// Represents an object which is a card UserControl
    /// </summary>
    public interface ICardUserControl
    {
        /// <summary>
        /// The Card object from which this Card UserControl derives
        /// </summary>
        Card Card { get; }

        /// <summary>
        /// Initializes the UserControl, this must be called prior to using any other properties/methods
        /// </summary>
        void Initialize();

        /// <summary>
        /// Plays the dealing animation, which typically should occur when a new game starts and all the cards are being dealt
        /// </summary>
        void PlayDealingAnimation();
    }
}
